package com.ai.aichat.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * <p>
 * 两步验证表
 * </p>
 *
 * @author baomidou
 * @since 2025-09-16
 */
@Data
@TableName("user_two_factor_auth")
@ApiModel(value = "UserTwoFactorAuth对象", description = "两步验证表")
public class UserTwoFactorAuth implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 验证ID
     */
    @ApiModelProperty("验证ID")
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 用户ID
     */
    @ApiModelProperty("用户ID")
    private Long userId;

    /**
     * 密钥
     */
    @ApiModelProperty("密钥")
    private String secretKey;

    /**
     * 备用代码
     */
    @ApiModelProperty("备用代码")
    private String backupCodes;

    /**
     * 是否启用
     */
    @ApiModelProperty("是否启用")
    private Boolean isEnabled;

    /**
     * 验证时间
     */
    @ApiModelProperty("验证时间")
    private LocalDateTime verifiedAt;

    /**
     * 创建时间
     */
    @ApiModelProperty("创建时间")
    private LocalDateTime createdAt;

    /**
     * 更新时间
     */
    @ApiModelProperty("更新时间")
    private LocalDateTime updatedAt;
}
